﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Dominio
{
    public class Persona : ObjetoPersistente, IComparable
    {
        #region atributos

        private string mNombre;
        private string mDireccion;
        private string mEmail;
        private List<string> mTelefonos;
        private PlanDePago mPlanDePago;
        private bool mHabilitado;
        private int mFax;
        private double mSaldo;        

        #endregion

        #region propiedades

        public string Nombre
        {
            get { return mNombre; }
            set { mNombre = value; }
        }

        public string Direccion
        {
            get { return mDireccion; }
            set { mDireccion = value; }
        }

        public List<string> Telefonos
        {
            get { return mTelefonos; }
            set { mTelefonos = value; }
        }

        public PlanDePago PlanDePago
        {
            get { return mPlanDePago; }
            set { mPlanDePago = value; }
        }

        public bool Habilitado
        {
            get { return mHabilitado; }
            set { mHabilitado = value; }
        }

        public int Fax
        {
            get { return mFax; }
            set { mFax = value; }
        }

        public string EMail
        {
            get { return mEmail; }
            set { mEmail = value; }
        }

        public double Saldo
        {
            get { return mSaldo; }
            set { mSaldo = value; }
        }

        #endregion

        #region constructor

        public Persona()
        {
            Nombre = "";
            Direccion = "";
            Telefonos = new List<string>();
            PlanDePago = new PlanDePago();
            Habilitado = false;
            EMail = "";
            Fax = 0;
            Saldo = 0;            
        }

        #endregion

        #region metodos

        public int CompareTo(object o)
        {
            return Nombre.CompareTo(((Persona)o).Nombre);
        }
        #endregion

    }
}
